package com.zui.entity.party;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


@Entity
@Table(name="person")
public class Person extends Party {
	private static final long serialVersionUID = 1L;
	
	public Person(){setPartyType(new PartyType(PartyType.TYPE_PERSON));}
	
	private String salutation;
	private String lastName;
	private String firstName;
	private String middleName;
	private String personalTitle;
	private String suffix;
	private String nickName;
	private String firstNameLocal;
	private String middleNameLocal;
	private String lastNameLocal;
	private String otherLocal;
	private String gender;
	private Date birthday;
	private Date deceasedDate;
	private Double height;
	private Double weight;
	private String maritalStatus;
	private String socialSecurityNumber;
	private String passportNumber;
	private Date passportExpireDate;
	private Double totalYearsWorkExperience;
	private String comments;
	private String employmentStatus;
	private String residenceStatus;
	private String occupation;
	private Double yearsWithEmployer;
	private Double monthsWithEmployer;
	private String existingCustomer;
	private String cardId;
	

	/*------------------------------
	 * getters and annotations
	 --------------------------------*/	
	public String getSalutation() {
		return salutation;
	}
	public String getLastName() {
		return lastName;
	}
	public String getFirstName() {
		return firstName;
	}
	public String getMiddleName() {
		return middleName;
	}
	public String getPersonalTitle() {
		return personalTitle;
	}
	public String getSuffix() {
		return suffix;
	}
	public String getNickName() {
		return nickName;
	}
	public String getFirstNameLocal() {
		return firstNameLocal;
	}
	public String getMiddleNameLocal() {
		return middleNameLocal;
	}
	public String getLastNameLocal() {
		return lastNameLocal;
	}
	public String getOtherLocal() {
		return otherLocal;
	}
	public String getGender() {
		return gender;
	}
	
	@Temporal(TemporalType.DATE)
	public Date getBirthday() {return birthday;}
	
	@Temporal(TemporalType.DATE)
	public Date getDeceasedDate() {
		return deceasedDate;
	}
	public Double getHeight() {
		return height;
	}
	public Double getWeight() {
		return weight;
	}
	public String getMaritalStatus() {
		return maritalStatus;
	}
	public String getSocialSecurityNumber() {
		return socialSecurityNumber;
	}
	public String getPassportNumber() {
		return passportNumber;
	}
	public Date getPassportExpireDate() {
		return passportExpireDate;
	}
	public Double getTotalYearsWorkExperience() {
		return totalYearsWorkExperience;
	}
	public String getComments() {
		return comments;
	}
	public String getEmploymentStatus() {
		return employmentStatus;
	}
	public String getResidenceStatus() {
		return residenceStatus;
	}
	public String getOccupation() {
		return occupation;
	}
	public Double getYearsWithEmployer() {
		return yearsWithEmployer;
	}
	public Double getMonthsWithEmployer() {
		return monthsWithEmployer;
	}
	public String getExistingCustomer() {
		return existingCustomer;
	}
	public String getCardId() {
		return cardId;
	}
	
	
	/*------------------------------
	 * setters
	 --------------------------------*/
	
	public void setSalutation(String salutation) {
		this.salutation = salutation;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public void setMiddleName(String middleName) {
		this.middleName = middleName;
	}
	public void setPersonalTitle(String personalTitle) {
		this.personalTitle = personalTitle;
	}
	public void setSuffix(String suffix) {
		this.suffix = suffix;
	}
	public void setNickName(String nickName) {
		this.nickName = nickName;
	}
	public void setFirstNameLocal(String firstNameLocal) {
		this.firstNameLocal = firstNameLocal;
	}
	public void setMiddleNameLocal(String middleNameLocal) {
		this.middleNameLocal = middleNameLocal;
	}
	public void setLastNameLocal(String lastNameLocal) {
		this.lastNameLocal = lastNameLocal;
	}
	public void setOtherLocal(String otherLocal) {
		this.otherLocal = otherLocal;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public void setDeceasedDate(Date deceasedDate) {
		this.deceasedDate = deceasedDate;
	}
	public void setHeight(Double height) {
		this.height = height;
	}
	public void setWeight(Double weight) {
		this.weight = weight;
	}
	public void setMaritalStatus(String maritalStatus) {
		this.maritalStatus = maritalStatus;
	}
	public void setSocialSecurityNumber(String socialSecurityNumber) {
		this.socialSecurityNumber = socialSecurityNumber;
	}
	public void setPassportNumber(String passportNumber) {
		this.passportNumber = passportNumber;
	}
	public void setPassportExpireDate(Date passportExpireDate) {
		this.passportExpireDate = passportExpireDate;
	}
	public void setTotalYearsWorkExperience(Double totalYearsWorkExperience) {
		this.totalYearsWorkExperience = totalYearsWorkExperience;
	}
	public void setComments(String comments) {
		this.comments = comments;
	}
	public void setEmploymentStatus(String employmentStatus) {
		this.employmentStatus = employmentStatus;
	}
	public void setResidenceStatus(String residenceStatus) {
		this.residenceStatus = residenceStatus;
	}
	public void setOccupation(String occupation) {
		this.occupation = occupation;
	}
	public void setYearsWithEmployer(Double yearsWithEmployer) {
		this.yearsWithEmployer = yearsWithEmployer;
	}
	public void setMonthsWithEmployer(Double monthsWithEmployer) {
		this.monthsWithEmployer = monthsWithEmployer;
	}
	public void setExistingCustomer(String existingCustomer) {
		this.existingCustomer = existingCustomer;
	}
	public void setCardId(String cardId) {
		this.cardId = cardId;
	}
	
}
